package ace.module.oauth2.server.api.model.input;

import jakarta.validation.constraints.NotEmpty;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author caspar
 * @date 2023/3/29 9:13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Oauth2GetTokenByExternalUserInput {

  /**
   * 账户id
   */
  @NotEmpty
  private String accountId;

  /**
   * 登录生成token的客户端id
   */
  @NotEmpty
  private String clientId;

  /**
   * 登录生成token的客户端密钥
   */
  @NotEmpty
  private String clientSecret;

  /**
   * 发起请求的客户端clientId，不是进行认证的客户端clientId
   */
  @NotEmpty
  private String proxyClientId;

  /**
   * 发起请求的客户端密钥,，不是进行认证的客户端密钥
   */
  @NotEmpty
  private String proxyClientSecret;

  /**
   * access token attributes
   */
  private Map<String, String> attributes;
}
